﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Data_Object;
using Models;

namespace Business_Object
{
    public class DichVuService
    {
        private IDichVuDao _address = DataAccess.DichVuDao;
        public List<DichVu> All()
        {
            return _address.All();
        }


        public DichVu Find(int id)
        {
            return _address.Find(id);

        }

        public void Insert(DichVu entity)
        {
            _address.Insert(entity);
        }


        public void Delete(int id)
        {
            _address.Delete(id);
        }

        public void Update(DichVu entity)
        {
            _address.Update(entity);
        }

        public List<DichVu> FindServiceByPlace(List<DiaDiem> diaDiems) 
        {
            List<DichVu> list = new List<DichVu>();
            List<DichVu> dichVus = All();
            foreach (DiaDiem dd in diaDiems)
            {
                DichVu dv = FindDichVu(dichVus, dd.MaDichVu);
                if (list.Count <= 0)
                {
                    if (dv != null)
                    {
                        list.Add(dv);
                    }
                }
                if (IsInDichVu(list, dd.MaDichVu))
                {
                    list.Add(dv);
                }
            }

            return list;
        }

        private DichVu FindDichVu(List<DichVu> dichVus, int maDichVu)
        {
            foreach (DichVu dv in dichVus)
            {
                if (dv.MaDichVu == maDichVu)
                    return dv;
            }
            return null;
        }

        private bool IsInDichVu(List<DichVu> dichVus, int maDichVu)
        {
            foreach (DichVu dv in dichVus)
            {
                if (dv.MaDichVu == maDichVu)
                    return false;
            }
            return true;
        }
    }
}
